home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.ListPeer;
- import java.util.Vector;
-
- public class List extends Component {
- Vector items;
- int rows;
- boolean multipleSelections;
- int[] selected;
- int visibleIndex;
-
- public List() {
- this(0, false);
- }
-
- public List(int var1, boolean var2) {
- this.items = new Vector();
- this.multipleSelections = false;
- this.selected = new int[0];
- this.visibleIndex = -1;
- this.rows = var1;
- this.multipleSelections = var2;
- }
-
- public synchronized void addNotify() {
- if (super.peer == null) {
- super.peer = ((Component)this).getToolkit().createList(this);
- }
-
- super.addNotify();
- this.visibleIndex = -1;
- }
-
- public synchronized void removeNotify() {
- if (super.peer != null) {
- ListPeer var1 = (ListPeer)super.peer;
- this.selected = var1.getSelectedIndexes();
- }
-
- super.removeNotify();
- }
-
- public int countItems() {
- return this.items.size();
- }
-
- public String getItem(int var1) {
- return (String)this.items.elementAt(var1);
- }
-
- public synchronized void addItem(String var1) {
- this.addItem(var1, -1);
- }
-
- public synchronized void addItem(String var1, int var2) {
- if (var2 < -1 || var2 >= this.items.size()) {
- var2 = -1;
- }
-
- if (var2 == -1) {
- this.items.addElement(var1);
- } else {
- this.items.insertElementAt(var1, var2);
- }
-
- ListPeer var3 = (ListPeer)super.peer;
- if (var3 != null) {
- var3.addItem(var1, var2);
- }
-
- }
-
- public synchronized void replaceItem(String var1, int var2) {
- this.delItem(var2);
- this.addItem(var1, var2);
- }
-
- public synchronized void clear() {
- if (super.peer != null) {
- ((ListPeer)super.peer).clear();
- }
-
- this.items = new Vector();
- this.selected = new int[0];
- }
-
- public synchronized void delItem(int var1) {
- this.delItems(var1, var1);
- }
-
- public synchronized void delItems(int var1, int var2) {
- for(int var3 = var2; var3 >= var1; --var3) {
- this.items.removeElementAt(var3);
- }
-
- if (super.peer != null) {
- ((ListPeer)super.peer).delItems(var1, var2);
- }
-
- }
-
- public synchronized int getSelectedIndex() {
- int[] var1 = this.getSelectedIndexes();
- return var1.length == 1 ? var1[0] : -1;
- }
-
- public synchronized int[] getSelectedIndexes() {
- ListPeer var1 = (ListPeer)super.peer;
- if (var1 != null) {
- this.selected = var1.getSelectedIndexes();
- }
-
- return this.selected;
- }
-
- public synchronized String getSelectedItem() {
- int var1 = this.getSelectedIndex();
- return var1 < 0 ? null : this.getItem(var1);
- }
-
- public synchronized String[] getSelectedItems() {
- int[] var1 = this.getSelectedIndexes();
- String[] var2 = new String[var1.length];
-
- for(int var3 = 0; var3 < var1.length; ++var3) {
- var2[var3] = this.getItem(var1[var3]);
- }
-
- return var2;
- }
-
- public synchronized void select(int var1) {
- ListPeer var2 = (ListPeer)super.peer;
- if (var2 != null) {
- var2.select(var1);
- } else {
- for(int var3 = 0; var3 < this.selected.length; ++var3) {
- if (this.selected[var3] == var1) {
- return;
- }
- }
-
- if (!this.multipleSelections) {
- this.selected = new int[1];
- this.selected[0] = var1;
- } else {
- int[] var4 = new int[this.selected.length + 1];
- System.arraycopy(this.selected, 0, var4, 0, this.selected.length);
- var4[this.selected.length] = var1;
- this.selected = var4;
- }
- }
- }
-
- public synchronized void deselect(int var1) {
- ListPeer var2 = (ListPeer)super.peer;
- if (var2 != null) {
- var2.deselect(var1);
- }
-
- for(int var3 = 0; var3 < this.selected.length; ++var3) {
- if (this.selected[var3] == var1) {
- int[] var4 = new int[this.selected.length - 1];
- System.arraycopy(this.selected, 0, var4, 0, var3);
- System.arraycopy(this.selected, var3 + 1, var4, var3, this.selected.length - (var3 + 1));
- this.selected = var4;
- return;
- }
- }
-
- }
-
- public synchronized boolean isSelected(int var1) {
- int[] var2 = this.getSelectedIndexes();
-
- for(int var3 = 0; var3 < var2.length; ++var3) {
- if (var2[var3] == var1) {
- return true;
- }
- }
-
- return false;
- }
-
- public int getRows() {
- return this.rows;
- }
-
- public boolean allowsMultipleSelections() {
- return this.multipleSelections;
- }
-
- public void setMultipleSelections(boolean var1) {
- if (var1 != this.multipleSelections) {
- this.multipleSelections = var1;
- ListPeer var2 = (ListPeer)super.peer;
- if (var2 != null) {
- var2.setMultipleSelections(var1);
- }
- }
-
- }
-
- public int getVisibleIndex() {
- return this.visibleIndex;
- }
-
- public void makeVisible(int var1) {
- ListPeer var2 = (ListPeer)super.peer;
- this.visibleIndex = var1;
- if (var2 != null) {
- var2.makeVisible(var1);
- }
-
- }
-
- public Dimension preferredSize(int var1) {
- ListPeer var2 = (ListPeer)super.peer;
- return var2 != null ? var2.preferredSize(var1) : super.preferredSize();
- }
-
- public Dimension preferredSize() {
- return this.rows > 0 ? this.preferredSize(this.rows) : super.preferredSize();
- }
-
- public Dimension minimumSize(int var1) {
- ListPeer var2 = (ListPeer)super.peer;
- return var2 != null ? var2.minimumSize(var1) : super.minimumSize();
- }
-
- public Dimension minimumSize() {
- return this.rows > 0 ? this.minimumSize(this.rows) : super.minimumSize();
- }
-
- protected String paramString() {
- return super.paramString() + ",selected=" + this.getSelectedItem();
- }
- }
-